#include <Judy.h>
#include <assert.h>

#include "model.h"

void init_reasoner() {

	tbox = (TBox* ) malloc(sizeof(TBox));
	assert(tbox != NULL);

	tbox->last_concept_id = 0;
	tbox->last_role_id = 0;

	tbox->atomic_concept_count = 0;
	tbox->atomic_concepts = (Pvoid_t) NULL;

	tbox->atomic_role_count = 0;
	tbox->atomic_roles = (Pvoid_t) NULL;

	tbox->exists_restriction_count = 0;
	tbox->unique_exists_restriction_count = 0;
	tbox->exists_restrictions = (Pvoid_t) NULL;

	tbox->conjunction_count = 0;
	tbox->unique_conjunction_count = 0;
	tbox->conjunctions = (Pvoid_t) NULL;

	tbox->subclass_axioms = NULL;
	tbox->subclass_axiom_count = 0;
	tbox->eqclass_axioms = NULL;
	tbox->eqclass_axiom_count = 0;
	tbox->subrole_axioms = NULL;
	tbox->subrole_axiom_count = 0;
}
